package com.jiantong.work.service;

import com.jiantong.work.model.ImmunizationRecord;
import io.terminus.common.model.Paging;
import io.terminus.common.model.Response;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * Created by maowenjie on 2017/3/30.
 */
public interface ImmunizationRecordReadService {
    /**
     * 根据id- -- 防疫中心-免疫记录 养殖端的申报详情
     * @param id 主键id
     * @return DisinfectReport 对象
     */

    Response<ImmunizationRecord> findById(Long id);
    /**
     * @param id 主 键
     * @return 状态
     */
    Response<Map<String, Object>> findStatusById(Long id);

    /**
     * 根据status分页查询 - -- 防疫中心-免疫记录的列表
     * @param pageNo 页码
     * @param pageSize 条数
     * @param status 状态
     * @return Paging<DisinfectReport>
     */
    Response<Paging<ImmunizationRecord>> pagingImmunizationRecord(Integer pageNo, Integer pageSize, Integer status,Long breedFactoryId);

    /**
     * 根据从日期到日期和养殖场名称查看防疫中心5项纪录的列表
     */
    Response<Paging<ImmunizationRecord>> pagingImmunizationRecordGqv(Integer pageNo, Integer pageSize, Long breedFactoryId,Integer breedType, Date fromDate, Date toDate);

    Response<Paging<ImmunizationRecord>> pagingImmunizationRecordGqv1(Integer pageNo, Integer pageSize, Map map);

    List<Map<String,Object>> findAlltimesAlltype(Map map);

    /**
     * 溯源
     * @param breedFactoryId 养殖场id
     * @param markNumber 耳标号（完整）
     * @return ImmunizationRecord
     */
    Response<ImmunizationRecord> findByEarNumber(Long breedFactoryId , String markNumber);

    List<ImmunizationRecord> findByBreedId(Long breedID);

    Response<List<Long>> findIdsForWeb(Map<String, Object> map);
}
